home *** CD-ROM | disk | FTP | other *** search
/ Windows News 2010 Summer - Disc 1 / WN_Ete2010_CD1.iso / Onglet5 / Weezo / Weezo setup.exe / {code_appDir} / www / js / uiUsers-src.js < prev    next >
Text File  |  2010-05-19  |  8KB  |  234 lines

  1. function init(){
  2.     winResized();
  3.     uiUserResetBlocks();
  4.     uiUserScrollTo();
  5. }
  6. function winResized(){
  7.     alignBottom(dgi('usersListFrame'),winMe)
  8.     alignBottom(dgi('userFrame'),winMe)
  9.     alignBottom(dgi('linkedResourcesFrame'),winMe,5)
  10. }
  11. function uiUserScrollTo(id){
  12.     if(!id) id=uiUserSelected;
  13.     dgi('uiUsersBlocksDiv').scrollTop=dgi('userBlock_'+id).offsetTop+dgi('userBlock_'+id).offsetHeight-dgi('uiUsersBlocksDiv').offsetHeight;
  14.  
  15. }
  16. // Create user
  17. function uiUserCreate(){
  18.     wl.UIWebPopup('/local/uiUsers/newUser.php',uiUserCreateCB)
  19. }
  20. function uiUserCreateCB(ud){
  21.     wl.asr.send({'userCreate':ud})
  22. }
  23. // Delete user
  24. function uiUserDelete(id){
  25.     if(!confirm(delConfCapt.replace(/%1/,dgi('uiUsersDataName').value))) return;
  26.     wl.asr.send({'userDelete':id});
  27. }
  28. // Select user
  29. function uiUserSelect(id){
  30.     if(uiUsersDataNameChangedTO) {
  31.         clearTimeout(uiUsersDataNameChangedTO); uiUsersDataNameChangedTO=0;
  32.         uiUsersDataNameChangedApply();
  33.     }
  34.     if(uiUsersDataHintChangedTO) {
  35.         clearTimeout(uiUsersDataHintChangedTO); uiUsersDataHintChangedTO=0;
  36.         uiUsersHintChangedApply();
  37.     }
  38.     if(id==uiUserSelected) return;
  39.     for(var i=0;i<users.length;i++){
  40.         if(dgi('del_'+users[i])) dgi('del_'+users[i]).style.display=((users[i]==id)?'':'none')
  41.     }
  42.     wl.asr.send({'userSelect':1,'userId':id})
  43.     uiUserSelected=id;
  44.     return true;
  45. }
  46. // Send mail invitation
  47. function uiUserSendInvitation(id){wl.asr.send({'userSendInvitation':1,'userId':id})}
  48.  
  49. function uiUserResetBlocks(){
  50.     for(var i=0;i<users.length;i++) {
  51.         dgi('userBlock_'+users[i]).style.top=((i==0)?0:5+dgi('userBlock_'+users[i-1]).offsetTop+Math.max(70,dgi('userBlock_'+users[i-1]).offsetHeight))+'px';
  52.         dgi('up_'+users[i]).style.display=((i)?'':'none');
  53.         dgi('down_'+users[i]).style.display=((i!=users.length-1)?'':'none');
  54.     }
  55. }
  56. function uiUserBlockUp(id){
  57.     var pos=uiMiscPos(users,id);
  58.     uiUserSwap(users[pos-1],id);
  59.     wl.fadeStyle('userBlock_'+id,top)
  60. }
  61. function uiUserBlockDown(id){
  62.     var pos=uiMiscPos(users,id);
  63.     uiUserSwap(id,users[pos+1]);
  64. }
  65. function uiUserSwap(id1,id2){
  66.     var p1=dgi('userBlock_'+id2).offsetTop,p2=dgi('userBlock_'+id1).offsetTop;
  67.     var i1=uiMiscPos(users,id1),i2=uiMiscPos(users,id2);
  68.     users[i1]=id2;users[i2]=id1;
  69.     wl.fadeStyle('userBlock_'+id1,'top',p1,'linear',10)
  70.     wl.fadeStyle('userBlock_'+id2,'top',p2,'linear',10,'uiUserResetBlocks()');
  71.     wl.asr.send({'userOrder':users.toString()})
  72. }
  73.  
  74. function uiMiscPos(arr,val){
  75.     for(var i=0;i<arr.length;i++) if(arr[i]==val) return i;
  76. }
  77.  
  78. function uiUserActivated(id){
  79.     dgi('uiUsersActWarning').style.display=(dgi('activated_'+id).checked)?'none':'';
  80.     winResized();
  81.     uiUserUpdate('activated',dgi('activated_'+id).checked,id)
  82. }
  83.  
  84. /**
  85.  * Send data for update
  86.  */
  87. function uiUserUpdate(dataName,dataValue,id){
  88.     wl.asr.send({'updateData':dataName,'updateValue':dataValue,'userId':((id)?id:uiUserSelected)})
  89. }
  90.  
  91. // Name
  92. var uiUsersDataNameChangedTO;
  93. function uiUsersDataNameChanged(n){
  94.     dgi('uiUserBlockName'+uiUserSelected).innerHTML=n.value;
  95.     if(uiUsersDataNameChangedTO) clearTimeout(uiUsersDataNameChangedTO);
  96.     uiUsersDataNameChangedTO=W.setTimeout("uiUsersDataNameChangedApply()",1500)
  97. }
  98. function uiUsersDataNameChangedApply(){
  99.     uiUsersDataNameChangedTO=0;
  100.     uiUserUpdate('name',dgi('uiUsersDataName').value);
  101. }
  102.  
  103. // Icon
  104. function uiUserChangeIcon(){
  105.     wl.UIWebPopup('/local/userIcon.php?userId='+uiUserSelected,uiUserChangeIconCB)
  106. }
  107. function uiUserChangeIconCB(newIcon){
  108.     dgi("selUserIcon").src='/gfx/icons/'+newIcon;
  109.     dgi("uiUserBlockIcon"+uiUserSelected).src='/gfx/icons/'+newIcon;
  110.     uiUserUpdate('icon',newIcon);
  111. }
  112.  
  113. // Authentication method
  114. function uiUsersDataAuthenticationChanged(auth){
  115.     if(auth=='password') {
  116.         uiUsersPwdSet(1);
  117.         dgi('uiUsersDataHint').disabled=false;
  118.     }
  119.     else {
  120.         uiUserUpdate('authenticationMethod','noAuthentication');
  121.         dgi('uiUsersDataHint').disabled=true;
  122.     }
  123. }
  124. // Password
  125. var uiUsersPwdSetFromSelect;
  126. function uiUsersPwdSet(fromSelect){
  127.     if(fromSelect) dgn("passwordSelect").value="noAuthentication"
  128.     uiUsersPwdSetFromSelect=fromSelect;
  129.     wl.UIWebPopup('/local/uiUsers/password.php',uiUsersPwdSetCB)
  130. }
  131. function uiUsersPwdSetCB(res){
  132.     if(res!="") {
  133.         uiUserUpdate('password',res);
  134.         dgi('uiUsersDataHint').disabled=false;
  135.     }
  136.     dgi('uiUsersDataAuthenticationNA').selected=true;
  137. }
  138. // Hint
  139. var uiUsersDataHintChangedTO;
  140. function uiUsersDataHintChanged(n){
  141.     if(uiUsersDataHintChangedTO) clearTimeout(uiUsersDataHintChangedTO);
  142.     uiUsersDataHintChangedTO=setTimeout("uiUsersHintChangedApply()",1500)
  143. }
  144. function uiUsersHintChangedApply(){
  145.     uiUsersDataHintChangedTO=0;
  146.     uiUserUpdate('hint',dgi('uiUsersDataHint').value);
  147. }
  148. // Toggle advanced configuration
  149. function uiUsersToggleAdvancedConfig(){
  150.     uiShowAdvancedConfig=1-uiShowAdvancedConfig;
  151.     if(uiShowAdvancedConfig){
  152.         dgi('advancedConfigDiv').style.display='';
  153.         dgi('advancedConfigFoldIco').style.display='none';
  154.         dgi('advancedConfigUnfoldIco').style.display='';
  155.     }
  156.     else{
  157.         dgi('advancedConfigDiv').style.display='none';
  158.         dgi('advancedConfigUnfoldIco').style.display='none';
  159.         dgi('advancedConfigFoldIco').style.display='';
  160.     }
  161.     winResized();
  162.     wl.asr.send({'userShowAdvancedConfig':uiShowAdvancedConfig})
  163. }
  164. // DL limit
  165. function uiUsersDataDLLimitChanged(v){
  166.     if(isNaN(v.value) || v.value<0) v.style.color='red';
  167.     else{
  168.         v.style.color='';
  169.         uiUserUpdate('downloadSpeedLimit',v.value)
  170.     }
  171. }
  172.  
  173. // IP filter
  174. function uiUsersIPSet(){
  175.     wl.UIWebPopup('/local/IPFilter.php?userFile='+uiUserFile,uiUsersIPSetCB)
  176. }
  177. function uiUsersIPSetCB(res){
  178.     if(res!=0) btSetIcon('uiUsersIPBt','/gfx/warning.png'); else btSetIcon('uiUsersIPBt','/gfx/ahead.png');
  179. }
  180.  
  181. // Select a theme
  182. function uiUsersSelectTheme(){wl.UIWebPopup('/local/themeSelection.php?userFile='+uiUserFile,uiUsersSelectThemeCB)}
  183. function uiUsersSelectThemeCB(res){uiUserUpdate('theme',res)}
  184.  
  185. // Add a resource
  186. function uiUsersAddResource(){wl.UIWebPopup('/local/uiUsers/bindResourceToUser.php?selectedUserId='+uiUserSelected,uiUsersAddResourceCB)}
  187. function uiUsersAddResourceCB(r){
  188.     // User requested a new resource creation
  189.     if(r=='createNewResource') wl.asr.send({'userId':uiUserSelected,'userCreateNewResource':r}); 
  190.     // Else user's resources modified
  191.     else wl.asr.send({'userId':uiUserSelected,'userAddResources':r})
  192. }
  193.  
  194. // Remove a resource
  195. function uiUsersResDel(rid){fade('uiUsersResBlock_'+rid,1,0,10,'uiUsersResDelCB("'+rid+'")')}
  196. function uiUsersResDelCB(rid){wl.asr.send({'removeResource':rid,'userId':uiUserSelected})}
  197.  
  198. // Change resources order
  199. function uiUsersResUp(rid){
  200.     var n=dgi('uiUsersResBlock_'+rid),p=n.previousSibling;
  201.     uiUsersResSwap(p,n);
  202. }
  203. function uiUsersResDown(rid){
  204.     var n=dgi('uiUsersResBlock_'+rid),p=n.nextSibling;
  205.     uiUsersResSwap(n,p);
  206. }
  207. // Swap order of 2 resources
  208. function uiUsersResSwap(n,p){
  209.     var ln=actualOffsetLeft(n),tn=actualOffsetTop(n);
  210.     var lp=actualOffsetLeft(p),tp=actualOffsetTop(p);
  211.     wl.fadeStyle(n.id,'top',tp-tn,'linear',10);
  212.     wl.fadeStyle(n.id,'left',lp-ln,'linear',10);
  213.     wl.fadeStyle(p.id,'top',tn-tp,'linear',10);
  214.     wl.fadeStyle(p.id,'left',ln-lp,'linear',10,'uiUsersResSwapCB(\''+n.id+'\',\''+p.id+'\')');
  215. }
  216. function uiUsersResSwapCB(nid,pid){
  217.     nid=nid.substr(nid.indexOf('_')+1)
  218.     pid=pid.substr(pid.indexOf('_')+1)
  219.     wl.asr.send({'userResMoveUp':nid,'userResMoveDown':pid,'userId':uiUserSelected})
  220. }
  221. // Change resource displayed at user's login
  222. function uiUsersResLogin(rid){
  223.     if(!rid) rid='';
  224.     uiUserUpdate('displayResourceAtLogin',rid);
  225. }
  226. // Set resource frame scroll position at initial position after an async update
  227. var uiUsersResScroll=0;
  228. function uiUsersResScrollGet(){
  229.     uiUsersResScroll=dgi('linkedResourcesScroll').scrollTop;
  230. }
  231. function uiUsersResScrollSet(){
  232.     dgi('linkedResourcesScroll').scrollTop=uiUsersResScroll;
  233. }
  234. init();